package com.jing.shop.domain.dto;

import com.jing.shop.domain.po.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import java.util.List;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class ProductShopDTO {

    private Integer pageNum=1;
    private Integer pageSize=5;

    @ApiModelProperty(value = "主键自增id")
    private Integer id;

    @ApiModelProperty(value = "商品名称")
    @NotBlank(message = "商品名称不能为空")
    private String shopName;

    @ApiModelProperty(value = "货号")
    @NotBlank(message = "货号不能为空")
    private Integer shopNum;

    @ApiModelProperty(value = "商品分类id")
    @NotBlank(message = "商品分类id不能为空")
    private Integer typeId;

    @ApiModelProperty(value = "副标题")
    @NotBlank(message = "副标题不能为空")
    private String subTitle;

    @ApiModelProperty(value = "品牌id")
    @NotBlank(message = "品牌id不能为空")
    private Integer brandId;

    @ApiModelProperty(value = "商品描述")
    @NotBlank(message = "商品描述不能为空")
    private String description;

    @ApiModelProperty(value = "商品售价")
    @NotBlank(message = "商品售价不能为空")
    private String price;

    @ApiModelProperty(value = "市场价")
    @NotBlank(message = "市场价不能为空")
    private String originalPrice;

    @ApiModelProperty(value = "库存")
    @NotBlank(message = "库存不能为空")
    private Integer stock;

    @ApiModelProperty(value = "单位")
    @NotBlank(message = "单位不能为空")
    private String unit;

    @ApiModelProperty(value = "商品重量，默认为克")
    @NotBlank(message = "商品重量不能为空")
    private String weight;

    @ApiModelProperty(value = "排序")
    private Integer sort;

    @ApiModelProperty(value = "赠送的成长值")
    private String giftGrowth;

    @ApiModelProperty(value = "赠送的积分")
    private String giftPoint;

    @ApiModelProperty(value = "限制使用的积分数")
    private Integer usePointLimit;

    @ApiModelProperty(value = "是否为预告商品0-不是 1-是")
    private Integer previewStatus;

    @ApiModelProperty(value = "上架状态0-下架 1-上架")
    private Integer publishStatus;

    @ApiModelProperty(value = "新品状态0-不是新品 1-新品")
    private Integer newStatus;

    @ApiModelProperty(value = "推荐状态0-不推荐 1-推荐")
    private Integer recommandStatus;

    @ApiModelProperty(value = "产品服务，1-无忧退货 2-快速退款 3-免费包邮 逗号分割")
    private String serviceIds;

    @ApiModelProperty(value = "详情标题")
    private String detailTitle;

    @ApiModelProperty(value = "详情描述")
    private String detailDesc;

    @ApiModelProperty(value = "优惠方式0-无优惠 1-特惠促销 2-会员 3-阶梯 4-满减")
    private Integer promotionType;

    @ApiModelProperty(value = "关键字")
    @NotBlank(message = "关键字不能为空")
    private String keywords;

    @ApiModelProperty(value = "备注")
    private String note;

    @ApiModelProperty(value = "品牌属性分类id")
    @NotBlank(message = "品牌属性分类id不能为空")
    private Integer categoryId;

    @ApiModelProperty(value = "促销价格")
    private String promotionPrice;

    @ApiModelProperty(value = "图片")
    private String shopPic;

    @ApiModelProperty(value = "审核状态0-未审核 1-审核通过")
    private Integer verifyStatus;

    @ApiModelProperty(value = "画册id")
    private String[] picId;

    @ApiModelProperty(value = "产品详情网页内容")
    private String detailHtml;

    @ApiModelProperty(value = "移动端网页详情")
    private String detailMobileHtml;

    @ApiModelProperty(value = "库存预警值")
    private Integer lowStock;

    @ApiModelProperty(value = "活动限购数量")
    private Integer promotionPerLimit;

    @ApiModelProperty(value = "删除状态0-未删除 1-已删除")
    private Integer deleteStatus;

    @ApiModelProperty(value = "特惠促销")
    private List<ProductShopIndulgencePO> shopIndulgencePOS;

    @ApiModelProperty(value = "会员优惠")
    private List<ProductShopMemberPO> shopMemberPOS;

    @ApiModelProperty(value = "满减")
    private List<ProductShopReductionPO> shopReductionPOS;

    @ApiModelProperty(value = "阶梯")
    private List<ProductShopStepPO> shopStepPOS;

    @ApiModelProperty(value = "Sku")
    private List<ProductSkuStockPO> skuStockPOS;

    @ApiModelProperty(value = "商品参数")
    private List<ProductAttributePO> productAttributePOS;

}
